﻿//int* masterMind(char* solution, char* guess, int* returnSize) {
//    int* answer = (int*)malloc(sizeof(int) * 2);
//    int count = 0;
//    int x = 0;
//    memset(answer, 0, sizeof(int) * 2);
//    for (int i = 0; i < 4; i++) {
//        if (solution[i] == guess[i]) {
//            answer[0]++;
//        }
//    }
//    for (int i = 0; i < 4; i++) {
//        for (int j = 0; j < 4; j++) {
//            if (solution[i] == guess[j]) {
//                answer[1]++;
//                for (int z = j; z < 4; z++) {
//                    guess[z] = guess[z + 1];
//                }
//                break;
//            }
//        }
//    }
//    answer[1] -= answer[0];
//    *returnSize = 2;
//    return answer;
//}

//int text(const void* x, const void* y) {
//    return (*(int*)x) - (*(int*)y);
//}
//int* twoSum(int* numbers, int numbersLen, int target, int* returnSize) {
//    *returnSize = 2;
//    int* nums = (int*)malloc(sizeof(int) * 2);
//    qsort(numbers, numbersLen, sizeof(int), text);
//    for (int i = 0; i < numbersLen; i++) {
//        int x = target - numbers[i];
//        int left = 0;
//        int right = numbersLen - 1;
//        while (left <= right) {
//            int mid = (left + right) / 2;
//            if (numbers[mid] > x) {
//                right = mid - 1;
//            }
//            else if (numbers[mid] < x) {
//                left = mid + 1;
//            }
//            else {
//                if (mid != i) {
//                    nums[0] = i + 1;
//                    nums[1] = mid + 1;
//                    i = numbersLen;
//                    break;
//                }
//            }
//        }
//    }
//    return nums;
//}

//int* twoSum(int* numbers, int numbersLen, int target, int* returnSize) {
//    int* nums = (int*)malloc(sizeof(int) * 2);
//    for (int i = 0; i < numbersLen; i++) {
//        if (numbers[i] > target) {
//            continue;
//        }
//        int x = target - numbers[i];
//        for (int j = i + 1; j < numbersLen; j++) {
//            if (x == numbers[j]) {
//                nums[0] = i + 1;
//                nums[1] = j + 1;
//                i = numbersLen;
//                break;
//            }
//        }
//    }
//    *returnSize = 2;
//    return nums;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int text(const void* x, const void* y) {
//    return (*(int*)x) - (*(int*)y);
//}
//int main() {
//    int n = 0;
//    fscanf(stdin, "%d", &n);
//    int* nums = (int*)malloc(sizeof(int) * (n + 1));
//    memset(nums, 0, sizeof(int) * (n + 1));
//    for (int i = 0; i < n; i++) {
//        fscanf(stdin, "%d", nums + i);
//    }
//    qsort(nums, n, sizeof(int), text);
//    for (int i = 0; i < n; i++) {
//        int count = 1;
//        while (nums[i] == nums[i + 1]) {
//            count++;
//            i++;
//        }
//        if (count % 2 != 0) {
//            fprintf(stdout, "%d", nums[i]);
//        }
//    }
//    return 0;
//}